Order entry, inventory and other business oriented software applications can take several man years to create. The difficulty lies not so much in the complexity of the data, but in preparing the dozens or even hundreds of user interfaces required. this is the case regardless of whether the user interfaces predominantly interactive screens or non-interactive print reports.
Custom applications suffer from yet another problem related to personnel. Systems designers and programmers that created a system are rarely available down the road. They may have quit, or fallen ill, or even forgotten many of the details. All of those situations create an enormous burden on others down the road.
Some of the problems have been addressed through extensive reuse of generalized modules, and enforcement of a consistent naming syntax. See, for example, the ISO 11179 standard for naming data elements, which along with all other extrinsic material discussed herein is incorporated by reference in its entirety.
There is also a movement towards database normalization, for example, in which every non-key column in every table is directly dependent on the key, the whole key and nothing but the key. Such practice is said to produce reduced redundancies, fewer anomalies, and improved efficiencies.
It has also been suggested that programmers could use a combination of data element naming standards and intelligent agents to assist with data integration. But at the current stage of development, those strategies are inadequate to actually build an application.
Thus, there is still a need for systems, methods, strategies, programs and the like that use software to generate interfaces and functionality of an application.